//package com.per.mybootall.es;
//
//import com.sun.scenario.Settings;
//import org.elasticsearch.transport.client.PreBuiltTransportClient;
//
//import java.io.IOException;
//import java.net.InetAddress;
//import java.util.concurrent.ExecutionException;
//
//public class EsRestTwo {
//    public void addIndexDatas() throws IOException, ExecutionException, InterruptedException {
//        //获取settings，配置es集群的名字
//        Settings settings = Settings.builder().put("cluster.name", "myes").build();
//        //创建客户端
//        TransportAddress transportAddress = new TransportAddress(InetAddress.getByName("node01"), 9300);
//        TransportAddress transportAddress2 = new TransportAddress(InetAddress.getByName("node02"), 9300);
//        TransportAddress transportAddress3 = new TransportAddress(InetAddress.getByName("node03"), 9300);
//        //获取client客户端
//        TransportClient client = new PreBuiltTransportClient(settings).addTransportAddress(transportAddress)
//
//                .addTransportAddress(transportAddress2).addTransportAddress(transportAddress3);
//
//        /**
//         * 创建索引
//         * */
//        client.admin().indices().prepareCreate("player").get();
//        //构建json的数据格式，创建映射
//        XContentBuilder mappingBuilder = XContentFactory.jsonBuilder()
//                .startObject()
//                .startObject("player")
//                .startObject("properties")
//                .startObject("name").field("type","text").field("index", "true").field("fielddata","true").endObject()
//                .startObject("age").field("type","integer").endObject()
//                .startObject("salary").field("type","integer").endObject()
//                .startObject("team").field("type","text").field("index", "true").field("fielddata","true").endObject()
//                .startObject("position").field("type","text").field("index", "true").field("fielddata","true").endObject()
//                .endObject()
//                .endObject()
//                .endObject();
//        PutMappingRequest request = Requests.putMappingRequest("player")
//                .type("player")
//                .source(mappingBuilder);
//        client.admin().indices().putMapping(request).get();
//
//        //批量添加数据开始
//        BulkRequestBuilder bulkRequest = client.prepareBulk();
//
//// either use client#prepare, or use Requests# to directly build index/delete requests
//        bulkRequest.add(client.prepareIndex("player", "player", "1")
//                .setSource(jsonBuilder()
//                        .startObject()
//                        .field("name", "郭德纲")
//                        .field("age", 33)
//                        .field("salary",3000)
//                        .field("team" , "cav")
//                        .field("position" , "sf")
//                        .endObject()
//                )
//        );
//        bulkRequest.add(client.prepareIndex("player", "player", "2")
//                .setSource(jsonBuilder()
//                        .startObject()
//                        .field("name", "于谦")
//                        .field("age", 25)
//                        .field("salary",2000)
//                        .field("team" , "cav")
//                        .field("position" , "pg")
//                        .endObject()
//                )
//        );
//        bulkRequest.add(client.prepareIndex("player", "player", "3")
//                .setSource(jsonBuilder()
//                        .startObject()
//                        .field("name", "岳云鹏")
//                        .field("age", 29)
//                        .field("salary",1000)
//                        .field("team" , "war")
//                        .field("position" , "pg")
//                        .endObject()
//                )
//        );
//        bulkRequest.add(client.prepareIndex("player", "player", "4")
//                .setSource(jsonBuilder()
//                        .startObject()
//                        .field("name", "孙越")
//                        .field("age", 26)
//                        .field("salary",2000)
//                        .field("team" , "war")
//                        .field("position" , "sg")
//                        .endObject()
//                )
//        );
//        bulkRequest.add(client.prepareIndex("player", "player", "5")
//                .setSource(jsonBuilder()
//                        .startObject()
//                        .field("name", "张云雷")
//                        .field("age", 26)
//                        .field("salary",2000)
//                        .field("team" , "war")
//                        .field("position" , "pf")
//                        .endObject()
//                )
//        );
//        bulkRequest.add(client.prepareIndex("player", "player", "6")
//                .setSource(jsonBuilder()
//                        .startObject()
//                        .field("name", "爱迪生")
//                        .field("age", 40)
//                        .field("salary",1000)
//                        .field("team" , "tim")
//                        .field("position" , "pf")
//                        .endObject()
//                )
//        );
//        bulkRequest.add(client.prepareIndex("player", "player", "7")
//                .setSource(jsonBuilder()
//                        .startObject()
//                        .field("name", "牛顿")
//                        .field("age", 21)
//                        .field("salary",500)
//                        .field("team" , "tim")
//                        .field("position" , "c")
//                        .endObject()
//                )
//        );
//        bulkRequest.add(client.prepareIndex("player", "player", "8")
//                .setSource(jsonBuilder()
//                        .startObject()
//                        .field("name", "爱因斯坦")
//                        .field("age", 21)
//                        .field("salary",300)
//                        .field("team" , "tim")
//                        .field("position" , "sg")
//                        .endObject()
//                )
//        );
//        bulkRequest.add(client.prepareIndex("player", "player", "9")
//                .setSource(jsonBuilder()
//                        .startObject()
//                        .field("name", "特斯拉")
//                        .field("age", 20)
//                        .field("salary",500)
//                        .field("team" , "tim")
//                        .field("position" , "sf")
//                        .endObject()
//                )
//        );
//
//        BulkResponse bulkResponse = bulkRequest.get();
//        client.close();
//    }
//}
